<html>
<head>
  <link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
  <div class="main">
    <h1>Namespace: joker.io</h1>
    <span class="var-added">v1.0</span>
    <h2>Contents</h2>
    <ul>
      <li>
        <a href="#_summary">Summary</a>
      </li>
      <li>
        <a href="#_index">Index</a>
      </li>
      <li>
        <a href="#_constants">Constants</a>
      </li>
      <li>
        <a href="#_variables">Variables</a>
      </li>
      <li>
        <a href="#_functions">Functions, Macros, and Special Forms</a>
      </li>
    </ul>
    <h2 id="_summary">Summary</h2>
    <p class="var-docstr">Provides basic interfaces to I/O primitives.</p>
    <h2 id="_index">Index</h2>
    <ul class="index">
      <li>
  <a href="#close">close</a>
</li>
<li>
  <a href="#copy">copy</a>
</li>
<li>
  <a href="#pipe">pipe</a>
</li>
<li>
  <a href="#read">read</a>
</li>

    </ul>
    <h2 id="_constants">Constants</h2>
    Constants are variables with <tt>:const true</tt> in their metadata. Joker currently does not recognize them as special; as such, it allows redefining them or their values.
    <ul>
      (None.)
    </ul>
    <h2 id="_variables">Variables</h2>
    <ul>
      (None.)
    </ul>
    <h2 id="_functions">Functions, Macros, and Special Forms</h2>
    <ul>
      <li>
  <h3 class="Function" id="close">close</h3>
  <span class="var-kind Function">Function</span>
  <span class="var-added">v1.0</span>
  <pre class="var-usage"><div><code>(close f)</code></div>
</pre>
  <p class="var-docstr">Closes f (IOWriter, IOReader, or File) if possible. Otherwise throws an error.</p>
  
  
</li>
<li>
  <h3 class="Function" id="copy">copy</h3>
  <span class="var-kind Function">Function</span>
  <span class="var-added">v1.0</span>
  <pre class="var-usage"><div><code>(copy dst src)</code></div>
</pre>
  <p class="var-docstr">Copies from src to dst until either EOF is reached on src or an error occurs.<br>
  Returns the number of bytes copied or throws an error.<br>
  src must be IOReader, e.g. as returned by joker.os/open.<br>
  dst must be IOWriter, e.g. as returned by joker.os/create.</p>
  
  
</li>
<li>
  <h3 class="Function" id="pipe">pipe</h3>
  <span class="var-kind Function">Function</span>
  <span class="var-added">v1.0</span>
  <pre class="var-usage"><div><code>(pipe)</code></div>
</pre>
  <p class="var-docstr">Pipe creates a synchronous in-memory pipe. It can be used to connect code expecting an IOReader<br>
  with code expecting an IOWriter.<br>
  Returns a vector [reader, writer].</p>
  
  
</li>
<li>
  <h3 class="Function" id="read">read</h3>
  <span class="var-kind Function">Function</span>
  <span class="var-added">v1.3.6</span>
  <pre class="var-usage"><div><code>(read r n)</code></div>
</pre>
  <p class="var-docstr">Reads up to n bytes from IOReader r and returns a string of the read bytes.<br>
  May return a shorter (or blank) string if EOF is encountered.</p>
  
  
</li>

    </ul>
  </div>
</body>
<script src="main.js"></script>
</html>
